System and method for zero latency browsing

ABSTRACT

A system replicates Internet websites on a large number of user computers having browsers. The system includes a gateway platform having a gateway server and a cache. In the broadcast mode, the gateway server periodically or continuously images broadcast data (e.g., popular websites), compresses the website images, and stores the compressed website images in the gateway cache. The gateway server then broadcasts all of the compressed broadcast data to all (millions) of the user computers over a broadcast device (such as a satellite), for subsequent display by the user in the browser. In the unicast mode, the user requests unicast data (e.g., less-popular websites or websites having highly user-customized information) at the browser. The gateway server images that one web page, compresses the unicast data, and transmits the compressed unicast data over the broadcast device substantially in real time to the one requesting user computer.

CLAIM OF PRIORITY

This application claims priority to U.S. Provisional Patent ApplicationSer. No. 61/434,089, filed Jan. 19, 2011, the entire contents of whichare incorporated herein by reference.

BACKGROUND OF THE INVENTION

As noted on Wikipedia, the Internet or Internet cloud is a global systemof interconnected computer networks that use the standard InternetProtocol Suite (TCP/IP) to serve billions of users worldwide. It is anetwork of networks that consists of millions of private, public,academic, business, and government networks, of local to global scope,that are linked by a broad array of electronic, wireless and opticalnetworking technologies. The Internet is composed primarily of HTMLdocuments transmitted from web servers to web browsers using theHypertext Transfer Protocol (HTTP). However, HTTP is used to serveimages, sound, and other content, in addition to HTML. To allow the Webbrowser to know how to handle each document it receives, otherinformation is transmitted along with the document. This meta datausually includes the MIME type (e.g. text/html or application/xhtml+xml)and the character encoding.

The purpose of a web browser is to read HTML documents and compose theminto visual or audible web pages. The browser does not display the HTMLtags, but uses the tags to interpret the content of the page. The HTMLelements form the building blocks of all websites. HTML allows imagesand objects to be embedded and can be used to create interactive forms.It provides a means to create structured documents by denotingstructural semantics for text such as headings, paragraphs, lists,links, quotes and other items. It can embed scripts in languages such asJavaScript which affect the behavior of HTML web pages.

The primary function of a web server is to deliver web pages on requestto clients. This means delivery of HTML documents and any additionalcontent that may be included by a document, such as images, style sheetsand JavaScripts. A client, commonly a web browser or web crawler,initiates communication by making a request for a specific resourceusing HTTP and the server responds with the content of that resource oran error message if unable to do so. The resource is typically a realfile on the server's secondary memory, but this is not necessarily thecase and depends on how the web server is implemented.

Internet traffic consumes a significant percentage of the existingcommunication channels around the world. In many cases, copies of thesame Internet content are being sent thousands of times in a singlesecond. Each of these transmissions across the Internet uses acommunication channel and fills the channel with unnecessary andredundant data.

One of the most common ways to access the Internet is via a terrestrial,high-capacity connection. However, terrestrial connections are limitedin geographical coverage and performance. Terrestrial connections arealso inconsistent in quality, even in some of the most developedcountries like the United States and Japan. In emerging markets,Internet access is even more difficult. Often, local Internet exchangesare not available, and web pages or corporate data centers are hosted indifferent continents. As a result, WAN use severely limits Internetperformance. By contrast, satellite connectivity is unlimited ingeographical coverage.

SUMMARY OF THE INVENTION

Accordingly, it is an object of the invention to provide informationfrom a network to user computers in a near-zero latency environment. Itis a further object of the invention to broadcast information from a webserver over a broadcast device to a multitude of user computers withoutloss of functionality. It is yet another object of the invention toprovide Internet broadcasting channels for broadcasting information inreal time. It is still another object of the invention to providededicated channels in a broadcast system, for sending specificinformation to a single user computer.

The present invention is directed to a system and method for providinghigh definition (HD) Internet in a near-zero latency environment. Thecurrent invention addresses latency and bandwidth efficiency by managingInternet access more efficiently and with user performance that allowsviewing and interaction with web pages significantly faster than legacysystems available today over terrestrial, wireless, fiber and satellitelinks.

In accordance with these and other objectives, a system is provided forreplicating Internet websites on a large number of user computers havingbrowsers. The system includes a gateway platform having a gateway serverand a cache. In a broadcast mode, the gateway server periodically orcontinuously images broadcast data (e.g., popular websites) from apublic (i.e., Internet) or private network, compresses the websiteimages, and stores the compressed website images in the gateway cache.The gateway server then broadcasts all of the compressed broadcast datato all (millions) of the user computers over a broadcast device (such asa satellite or repeater). The broadcast data is sent over one of aplurality of Broadcast Communication Channels using a transmissionprotocol which is substantially uniform and low bandwidth. The usercomputers locally store the website images in a storage device. When theuser subsequently points the user computer browser to a website, theuser computer checks the local storage and immediately retrieves anddisplays the previously-broadcast information to the user in thebrowser.

In a unicast mode, the user has requested unicast data (e.g.,less-popular websites or websites having highly user-customizedinformation) at the browser, which is not broadcast data and thereforehas not been previously broadcast to the user computer or stored in thelocal storage. Instead, the browser requests the single desired web pagefrom the gateway server. The gateway server images that web page fromthe network, compresses the unicast data, and transmits the compressedunicast data over the broadcast device. The unicast data is sent using ahigh speed, high bandwidth transmission protocol so that it is receivedby the requesting user computer substantially in real time, such asDifferential Burst Video Transmission. The unicast data is transmittedvia the broadcast device over one of a plurality of Differential BurstVideo Communication Channels.

The website images capture the graphical features of the websites. Toretain the functionality of the website in both the broadcast andunicast modes, the gateway computer creates a tag file which maps (e.g.,using x and y coordinates) the location of various action points (e.g.,selectable links, text boxes, etc.) of the web page and identifies thetype of action point at each location. The tag file is sent to the usercomputer over one of a plurality of Tag Communication Channels and issynchronized with the image file at the user computer. Accordingly, asthe image file is displayed to the user at the user computer, theactions taken by the user can be transmitted to the gateway server overa return channel on the broadcast device. The gateway server can thenreproduce the user's actions on the website at the network. Thus, thesystem is able to provide the complete functionality and display of awebsite at the user computer.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 provides a non-limiting example of a non-limiting embodiment ofthe system for HD Internet according to the present invention; and

FIG. 2 illustrates a non-limiting method according to the presentinvention.

DESCRIPTION OF THE EMBODIMENTS

The non-limiting embodiments of the present invention will be describedhereinafter with reference to the accompanying drawings, wherein likenumerals represent like elements.

As shown in FIG. 1, the system 100 generally includes a broadcast device102, user computers 104 ₁-104 _(n), gateway platforms 130 ₁-130 _(n),and networks 150, 152. The system 100 communicates data, such aswebsites, from the networks 150, 152 to the user computers 104, via thegateway platforms 130 and the broadcast device 102. The user utilizes avirtual browser 106 at a display of one of the user computers 104 ₁-104_(n) to access the remote networks 150, 152 through the broadcast device102 and the remotely-located gateway platform 130 ₁-130 _(n). Thevirtual browser 106 controls the gateway server 134 and is a remoteclient of the remotely-located gateway server 134. Thus, the usercomputers 104 ₁-104 _(n) can be a dumb terminal which runs the browser106. The user computers 104 ₁-104 _(n) can also have a wirelessconnection 108, and a storage device 110, which can be the computer'shard drive, ROM, RAM or other memory. The storage device 110 can beintegral with the user computer 104, or a separate component which is incommunication with the computer 104, as shown in FIG. 1.

The connection 108 enables the browser 106 of the user computers 104₁-104 _(n) to communicate with the gateway platform 130 ₁-130 _(n) viathe broadcast device 102. The connection 108 can be located at the samesite as the user computer 104 and directly wired or wirelessly connectedto the user computer 104. Or, the connection 108 can be located remotefrom the user computer 104 and communicate with the computer 104wirelessly or wired. Thus, the connection 108 can be an air card, GSMconnection, Wi Fi, Wi Max, satellite antenna, or any other wired orwireless medium which facilitates broadcasting of information from thegateway 130 to multiple user computers 104.

The user computers 104 ₁-104 _(n) can be any suitable device, thoughpreferably one having a processor, such as a laptop computer, desktopcomputer, smartphone, tablet PC, laptop, and Internet equippedtelevision. The user computers 104 ₁-104 _(n) can also have otherhardware or software to implement the invention, such as a monitor ordisplay and a memory or storage device 110. And, the user computers 104₁-104 _(n) preferably have user input devices for entering informationand/or operating the user computers 104 ₁-104 _(n) and the browser 106,including a mouse, select button, keyboard, and/or a touchscreen,touchpad, or other suitable input device.

Each of the gateway platforms 130 ₁-130 _(n) includes a respectivesatellite antenna 132 or a broadcast transmitter/receiver, and a gatewayserver 134 has a cache 136. Each gateway platform 130 ₁-130 _(n) cancommunicate information to any one or more of the user computers 104₁-104 _(n) via a forward channel on one of the unidirectional links 120,122 or the bi-directional link 124 between the gateway platform 130₁-130 _(n) and the satellite 102; and then continuing over a forwardchannel on one of the unidirectional links 120, 122 or thebi-directional link 124 between the satellite 102 and the user computers104 ₁-104 _(n). And, each computer 104 ₁-104 _(n) can communicateinformation to any one or more of the gateway platforms 130 ₁-130 _(n)through a return channel on the bi-directional link 124 between the usercomputers 104 ₁-104 _(n) and the satellite 102, and then continuing overthe bi-directional link 124 between the satellite 102 and the gatewayplatform 130 ₁-130 _(n).

The gateway server 134 may be configured to communicate with the publiccomputers, servers, networks or clouds such as the Internet cloud 150,and/or one or more private computers, servers, networks or clouds 152such as a private MPLS (MultiProtocol Label Switching) cloud. Generally,the system 100 provides for the user computers 104 ₁-104 _(n) to accessthe Internet 150 and/or private network cloud 152 through a virtualbrowser 106 of the gateway 130. The user operates the browser 106 whichsends a signal over the satellite 102 to the gateway 130. The gateway130 accesses the networks 150, 152 and returns the results to thevirtual browser 106 via the satellite 102.

The gateway server 134 can be a server farm that is adapted to act as asecure and fast gateway to the Internet 150, 152, and may be a networkof servers, mainframe computer(s) or other high speed and high capacityprocessing devices. Its speed is enhanced because it may be positionedat a strategic Internet Exchange Point (IXP), which is where Internetservice providers exchange Internet traffic between their networks. Forinstance, the satellite antennas 132 can serve as a teleport havingvarious ports which connect to the networks 150, 152 at multiple 1gigabyte per second.

As shown in FIG. 1, the broadcast device 102 can be a satellite 102which communicates with a satellite antenna 132 at the gateway end, andalso communicates with a repeater or the like (not shown) at the userend. The repeater in turn communicates with a plurality of usercomputers 104 over a wired or wireless connection 108. However, thebroadcast device 102 can be any suitable broadcast medium, such as arepeater, and a satellite need not be used. And, the satellite antenna132 and wireless connection 108 can be any suitable devices whichcommunicate with the broadcast device 102, so that the gateway platform130 can broadcast information over the antennas 132 and the broadcastdevice 102 to a large number of user computers 104 via the wired orwireless connection 108. For instance, the user computer 104 can be incommunication with the gateway platform 130 through a repeater, which inturn communicates with a plurality of user computers 104, and asatellite 102 need not be used. Though a wireless connection 108 isshown, any suitable connection can be utilized, such as a hard wire orwireless connection to a remote centralized satellite antenna.

As mentioned above, the browser software 106 resides at the gateway 134,and is configured to run as a virtual browser as a remote client of thegateway server 134. Because the browser 106 functions as a virtualbrowser, viruses that attack operating systems and threaten users'security are unable to infest the user's individual computing devices.In addition, the remote browser 106 may rely upon the computing powerand very high-speed connection of the gateway server 134 to resolve andrender pages, images, and documents from the networks 150, 152. Thegateway server 134 then images those web pages (which are typically inan HTTP format) to a video or image frame format. This is preferablydone by taking an image of the entire web page from top to bottom,including any portion that would normally be accessed by scrollingup/down or left/right but not immediately displayed on the screenbecause it is too long for a single screen.

In addition, web pages often have information which is rendered over aperiod of time, such as a video, streaming information, or an animateddisplay. Accordingly, the gateway server 134 continuously capturesimages of the web page until it detects a repeating pattern ofinformation in the web page. Thus, the gateway server 134 will becertain to capture all the information on the web page even if thatinformation continues over a period of time. Once the page is imaged(including any audio on the web page), the gateway server 134 compressesthe image or video frame format and sends it to the browser 106 via thesatellite 102.

In a non-limiting aspect of the invention, a web-to-HD video protocolmay be used to capture and transmit images/audio of a web page,including a full multimedia web page, regardless of its size or originalformat (e.g., HTTP). The protocol may be configured to compress the datainto a compressed digital video format that can be sent to the usercomputer 104 for display in the browser 106. Since HTTP is inefficientand slow, the web to HD video capture protocol improves the performanceof satellite channels to be equal or better than 50 msec terrestrialhigh-capacity channels not accessed via HD Internet using the presentinvention. Though the web pages are preferably imaged, any suitabletechnique can be used to place the web pages in a format suitable forbroadcasting to a large number of user computers 104, such as convertingthe HTTP code to an image frame format or the like. Preferably, however,the technique is independent of the HTTP content, as in imaging.

It is noted that many web sites include selectable fields or other itemswhich may require user interaction. By way of a non-limiting example, awebsite may have selectable buttons, scroll bar, browsing bar, drop-downmenu, hover links, menus, selectable links, or data entry points. Forease of description, these features are collectively referred to in thisapplication as tag data or action points. When the website is capturedin a video frame format, those action points are imaged, but theirfunctionality is not retained in the video images. Rather, a separatetag file is created which maps the various locations of the actionpoints on the web page. That tag file is associated with the compressedvideo file based on the domain name for the imaged page, and the videois synchronized with the tag file so that the proper action points areassociated with the video images. Accordingly, when the user views thevideo file on the browser 106, the user retains all the functionality ofthe website. Thus, the video file and the tag file cooperate to emulateor reproduce the website at the browser 106, so it appears to the userthat the web page is actually being displayed in the browser 106.

For instance, it is assumed that the user has accessed a search websitewhich has a search box where the terms to be searched are entered. Thewebsite is virtually displayed on the browser 106 as a video image ofthe actual site. The user may then use the mouse to click the pointer inthe search box. The browser 106 recognizes from the tag file that theuser has positioned the pointer in the search box, and transmits thataction to the Internet site on the Internet cloud 150, via the platform130. The user may then use the keyboard to start typing a term in thesearch box. Again, that action is replicated and sent to the actualwebsite at the Internet cloud 150. The Internet site at the Internetcloud 150 then responds to the user's action, and the result is capturedto an image file, compressed and sent back to the user's computer 104for display on the browser 106. Further action may include, but is notlimited to, opening another page, downloading or opening a file,printing a document, refreshing a page, filling form fields, and dragand drop mouse actions. Thus, all user actions may be performed on thecomputer 104 and either implemented at the user computer 104 (such assaving a file to the storage device 110 and scrolling down on the page)or recognized at the website at the Internet cloud 150 or the privatecloud 152 (such as opening a link, opening a drop-down menu, andhovering over a link). Typing information may be communicated when pagesare refreshed, which eliminates latency perception by the user.

The gateway server 134 transmits the video data to the user computers104 ₁-104 _(n) for display on the browser 106. The browser 106 includesall of the command and function features of a standard browser,including home, back, print, favorites, and address, and can have thestandard bars, including the menu, status and command bars. The browser106 also interfaces to the computer 104 peripherals, such as theprinter, hard drive, USB ports, and the like. In addition, the browser106 of the present invention is capable of searching the local storagedevice 110 to see if a web page has been previously received in thebroadcast mode. The browser 106 also generates and sends commands and atag file to the gateway server 134 so that the gateway server 134retrieves the information desired by the user. In addition, the browser106 controls and synchronizes the tag file and echo. For instance, ifthe user enters a web domain in the address field of the browser 106,the typed letters will appear in the browser 106. But, the browser 106will not transmit the domain to the gateway server 134 until the userhits the ENTER command key or clicks the mouse to enter the domain name.Likewise, if the user moves the mouse, the mouse pointer moves on thescreen of the user computer 104. However, the browser 106 does nottransmit that movement to the gateway server 134 unless the mousepointer is hovered over a link (a type of action point), or if the userclicks the mouse at an action point.

The browser 106 then recognizes when the user uses any of the inputdevices at the computer 104. If the user requests a web page, the usercomputer 104 checks its local storage device 110 for the desiredinformation. If the requested information has been previously broadcastand stored in the storage device 110, that information is immediatelydisplayed in the browser 106. If the requested information has not beenpreviously stored in the storage device 110, the browser 106 prepares atag file with the location of the action and the action point. It thentransmits that tag file to the gateway platform 130 where the gatewayserver 134 first checks the cache 136 for the requested information. Ifthe information is stored in the cache 136, it is sent to the usercomputer 104. If the information is not stored in the cache 136, theserver 134 replicates the action point to the website on the Internetcloud 150. The website response is then imaged, compressed and returnedto the browser 106 using a differential burst video transmission via thesatellite 102.

It will be apparent that the virtual browser 106 can be any softwareapplication which can display the received video frame data to look likethe web page is actually being displayed in a browser. The gatewayservers 134 may also be configured to handle other computationalrequirements of multimedia and video related services accessed by users.Accordingly, the browser 106 takes advantage of the high processingspeeds and the high speed connections (e.g., 1 Gb per second and higher)of the gateway server 134 to access information from the networks 150,152.

The system 100 preferably has two primary modes of operation, a unicastmode to communicate unicast data using differential burst videotransmission, and a broadcast mode to communicate broadcast data. Bothmodes are implemented at the browser 106 and/or the gateway platform130. The unicast mode is used to send highly customized information froma single website at network 150, 152 to a single user computer 104 inreal time as it is requested by the user. Accordingly, the unicast modeutilizes the differential burst video transmission to provide a veryfast transmission of data having a high bandwidth over a very shortperiod of time. And, the unicast data is given transmission priorityover the broadcast data. In contrast, the broadcast mode is used to sendinformation that is accessed by a large number of users from a singlewebsite at network 150, 152 to a large number of user computers 104. Theinformation is continuously or periodically updated and broadcast sothat it is immediately available at the user computers 104 whensubsequently requested by the user. So, the information need not be sentby the differential burst video transmission protocol, but instead canbe sent over a more uniform lower-bandwidth transmission over a longerperiod of time. And, since the broadcast data is not needed by the useras immediately as the unicast data, the broadcast data can have a lowertransmission priority to the unicast data.

Thus, the mode of operation which is implemented by the gateway server136 and the user computer 104 depends on the information (such as awebsite or other source) the user accesses. The information will eitherbe unicast data or broadcast data, depending on the popularity,image-intensity and how customized the information is to the user. Forinstance, the gateway server 134 may track the type of usage that theusers make of the networks 150, 152. It can then determine whichwebsites are most frequently accessed and/or contain the most graphics.Based on that information, the gateway server 134 can determine that thewebsite is unicast data or broadcast data.

Unicast data includes information from the network 150, 152 which isless popular and/or is highly customized to the user. Thus, the unicastmode is used to transmit specific sites or information to a single usercomputer 104, and especially those sites or information which are notamenable to being broadcast to a large number of users. The unicast datais intended to include information, such as websites, which is notfrequently accessed since those sites do not (by definition) take asubstantial amount of the bandwidth. And, unicast data also includesinformation, such as websites, which are highly specific in use or arevery customized to the user, such as a search site like Google or webemail like gmail or yahoo mail. Those sites are not very amenable tobeing broadcast to multiple users since the pages are different for eachuser. As a result, those sites need to be sent directly to theparticular user in response to the user's request. The computer 104 cansave the site to the local storage device 110, though it doesn't haveto.

Since the unicast mode is for customized information, the unicast datais sent in real time without delay, directly from the network cloud 150,152 via the gateway platform 130 and the broadcast device 102 to theuser computer 104, where it may be immediately displayed (oncedecompressed at the computer 104). Accordingly, the unicast modeprovides fast processing which is achieved using a fast differentialburst video transmissions instead of standard back and forwardnegotiations used by existing Internet browsers, like Internet Explorer,Chrome, FireFox, Opera, and the like. The burst transmission is ahigh-bandwidth (several Mbits/s) transmission of data over a very shortperiod of time, especially as compared to a TCP/IP transmission whichprovides a lower-bandwidth transmission over a greater period of time.The shorter transmission time also reduces the time needed by thesatellite 102 to retransmit the information, which can typically have avery wide bandwidth capacity.

In addition, the differential aspect of the transmission protocolprovides that only the change in the video is transmitted. For instance,suppose the first frame of a video shows a person sitting in a chair. Aninitial burst transmission of data is transmitted showing the personsitting in the chair. If the person raises his/her leg in the secondframe, then the system only needs to transmit the leg being raised andneed not transmit the rest of the person's body or the chair. Theraising of the leg is sent in a short burst transmission, but there isless information to send so that burst of data will require lessbandwidth and time than the initial burst transmission of data.

The broadcast mode, on the other hand, is used to send the sameinformation to a wide number of user computers 104. Thus, the broadcastdata is intended to include the most frequently visited and/orgraphics-intensive web pages, but less specifically-customizedinformation. Accordingly, suitable sites for the broadcast mode are newssites like CNN, BBC, newspaper, live streaming television feeds, movies,music downloads, or ESPN. Those sites provide the same information to awide number of users over and over again. Though users may select toview different information, that information is not specific to the user(unlike a search site). In addition, there can be a number of broadcastchannels and each channel can have a specific theme, such as countrymusic, military television, etc. The user can then tune the browser 106to one of the broadcast channels to receive that content. Thus, thebroadcast channel can be configured here to receive live content, or toupdate the storage device 110 of the user computer 104.

For instance, the main page of ESPN presents the same information to allviewers, which may include scores of hockey games and basketball games.If a large number of viewers choose to select a certain hockey game,that page of the website can also be sent in the broadcast mode. On theother hand, if the user desires information which is not frequentlyviewed (such as about high school sports on ESPN), that information willbe delivered to the computer 104 in the unicast mode and optionallystored at the storage device 110 of that computer 104.

In the broadcast mode, the gateway server 134 retrieves the desired datafrom the networks 150, 152, captures that data (including audio) to avideo (or image) frame format, compresses that video data and stores thecompressed video data in the gateway 130 at the cache 136. The cache 136is a cache server adapted to store web pages and is in communicationwith the gateway server 134. The cache 136 is shown in FIG. 1 as part ofthe server 134, but can be separate from the server 134, and can bememory or other storage device. The gateway cache 136 preferably storesthe web pages in the compressed video format, but can store the data inany suitable format(s) including HTTP format.

Once the broadcast data is stored in the gateway cache 136, the gatewayserver 134 then transmits that data to the multiple user computers 104,which then store that data on the storage device 110. Thus, the storagedevice 110 can be synchronized with the gateway cache 136 so that theyboth store the same information. However, the local storage device 110can also store client-specific content that is not present in thegateway cache 136 to provide faster access to client-unique requirementsand flexibility and support of the gateway cache 136.

As the broadcast sites are updated, the updated sites are cached 136 andsent to the user computers 104. The gateway server 134 can track theupdates in several ways. For instance, the server 134 can continuouslycapture the broadcast data at the networks 150, 152. Or, the gatewayserver 134 can continuously or periodically compare the broadcast datastored in the cache 136 with the broadcast data at the networks 150, 152and re-capture any broadcast data which is updated. As the informationis updated, the updated broadcast data is compressed, saved to cache136, broadcast to the user computers 104, and stored in the storagedevice 110.

Accordingly, the broadcast mode operates proactively, before the userrequests any broadcast data, so that the information is immediatelyavailable for display in the browser 106 when the user subsequentlydesires to access it. The data can also (or alternatively) be stored atthe user's computer 104 (or from the gateway server 136) to a CD, DVD,downloadable file, ftp site, or USB memory stick, such as one having aterabyte capacity, so that the information is available at any computer104 that the user may access.

Thus, in the broadcast mode, the gateway server 134 accesses a websiteat the network 150, 152, then broadcasts that data to multiple usercomputers 104 at one time. For instance, the server 134 can broadcastthousands of websites to millions or tens of millions of user computers104. That broadcast then eliminates the need to transmit the sameinformation from those websites back and forth millions of times fromthe clouds 150, 152 to the user computers 104. That, in turn, reducesthe bandwidth needed to communicate that information, reduces traffic onthe satellite 102, and significantly improves the user experience.

As noted above, communications between the computers 104 and the gatewayserver 134 are over various unidirectional links 120, 122 andbidirectional links 124. Specifically, the unidirectional links includea Broadcast Communication Channel (Bcc) 120 and a Differential BurstVideo Communication Channel (DBVcc) 122, while the bidirectional linksinclude a Tag Communication Channel (Tcc) 124. Though only a single Bcc,DBVcc and Tcc channels are shown, multiple channels can be provided foreach.

The Broadcast Communication Channel (Bcc) 120 is a multi-cast channelwhich is configured to forward broadcast data to a plurality of usercomputers 104. It is only used in the broadcast mode of operation.Though only one channel 120 is shown, there may be multiple broadcastchannels 120 provided. Accordingly, the gateway server 134 sends thebroadcast data that is stored in the gateway cache 136, over the Bcc 120to several or all of the user computers 104 ₁-104 _(n). The broadcastinformation is sent from the gateway cache 136 at one of the gatewayplatforms 130 ₁-130 _(n) on the forward broadcast communication channel120 to the satellite 102. The satellite 102, in turn, retransmits thatdata on the forward broadcast communication channel 120 to the browsers106 of every user computers 104 ₁-104 _(n). Thus, only one of thegateway servers 134 in communication with each satellite 102 needs tostore web data in its cache 136, since the satellite 102 can retransmitthat data to all of the computers 104 with which it communicates. So,each satellite 102 only needs to be in communication with a single thegateway server 134 which has a cache 136, though preferably more thanone server 134 stores Internet data in a cache 136 for redundancy and tobetter distribute communication channels for that server 134.Accordingly, the server 134 which is closes to a particular data centercan access information for a given website. For instance, the firstgateway platform 130 ₁ may be closest to the data center for the CNNsite, and the second gateway platform 130 ₂ can be closest to the datacenter for the BBC site. So, the first platform 130 ₁ will store the CNNsite in its cache 136 and the second platform 130 ₂ will store the BBCsite in its cache 136.

Once the broadcast data is stored at the user computer 104, thatinformation is immediately available for display on the browser 106 whenthe user subsequently desires to access that data. Each user computer104 stores all of the broadcast data. The broadcast channel 120 isunidirectional since it is only used to broadcast information to a largenumber of potential users. By broadcasting the broadcast data to a largenumber of user computers 104, the system 100 avoids having to bog downthe satellite 102 (as well as the gateway server 134) with repeatedindividual requests from a large number of user computers 104 for thosefrequently-viewed sites.

Instead, those individual requests are handled immediately at the usercomputer 104 itself and the requested data is retrieved from the userstorage device 110. This improves the overall communication flow andmaximizes the efficiency of the system 100 by reducing the use of thesatellite 102; which also optimizes the cost-effectiveness of the system100 by minimizing the cost which is typically associated with the use ofa satellite 102. Thus, it is advantageous to broadcast as many sites aspossible in the broadcast mode to as many user computers 104 aspossible. The cost of storage devices 110 continues to becomeexponentially cheaper, so that a large amount of broadcast data (i.e.,compressed imaged websites) can easily be stored at the local storagedevice 110 in a cost-effective manner.

The broadcast channel 120 synchronizes the information that istransmitted. Periodically or as desired, based on user profiles, thegateway 134 may push the cache 136 to the multiple users. The gatewayserver 134 preferably broadcasts all of the broadcast data stored in thecache 136 to all of the user computers 104, which includes all updatedsites. By sending the cache 136 to the users, bandwidth is conserved andfewer images are re-transmitted. By transmitting the cached sites overthe broadcast channel 120, the system 100 need not continuously transmitthe same information from those sites to each requesting computer 104individually, which in turn reduces the bandwidth and time to view apage. That also reduces the number of times the websites themselves needto be accessed through the network cloud 150, 152.

As an illustrative example, the gateway server 134 at the first gatewayplatform 130 ₁ may be provided with a cache 136, but the second andn^(th) gateway platforms 130 ₂-130 _(n) need not have caches 136 andneed not communicate on a broadcast communication channel 120. Thatfirst gateway platform 130 ₁ can then determine that the website for thenews organization CNN is a popular site. The gateway server 134 cantrack the CNN site on the Internet cloud 150 and store the site to thegateway cache 136 whenever the site is modified and/or at predeterminedperiodic intervals. The server 134 at the first gateway platform 130 ₁can then transmit the CNN site on the broadcast communication channel120 to the satellite 102. The satellite 102 then transmits the CNN siteto each of the user computers 104 ₁-104 _(n) over the broadcastcommunication channel 120. The user computers 104 ₁-104 _(n) are thenable to display the CNN site whenever it is called up by the browser 106at the user computer 104 ₁-104 _(n).

To further illustrate a feature of the invention, the gateway server 134at the first platform 130 ₁ (or the second platform 130 ₂), may detectthat users in the state of Florida access CNN in Spanish. The system 100can then have the first platform 130 ₁ server 134 cache and broadcastthe CNN site in Spanish to Florida users, which is a subgroup of all theuser computers 104 ₁-104 _(n). The CNN site can be stored in a localhard drive of the user computers 104 ₁-104 _(n), if desired. Thismethodology conserves bandwidth because websites are transmitted asvideo images and the data is compressed and transmitted to several usercomputers 104 ₁-104 _(n), at once rather than the same information beingtransmitted multiple times by legacy Internet-based systems using HTTP,HTTPS, and TCP/IP.

The system 100 also has a Differential Burst Video Communication Channel(DBVcc) 122 which is used only in the unicast mode of operation. TheDBVcc 122 is also a unidirectional channel. Though only one channel 122is shown, there may be multiple DBVcc channels 122 provided. It is usedto transmit digital video images of a web page from the gateway server134 to one of the user computers 104 ₁-104 _(n) via the satellite 102.Thus, the Differential Burst Video Communication Channel 122 is similarto the Broadcast Communication Channel 120, except that the DBVcc 122 isused to send video data to a single user computer 104 in the unicastoperational mode, and the Bcc 120 is used to send video data to multipleuser computers 104 in the broadcast operational mode. The DBVcc 122 ispreferably a priority channel of communication, and is given priorityover the Bcc 120. This can be accomplished, for instance, by settingaside a certain number of channels just for the DBVcc 122, and/or bygiving priority to unicast mode communications under a COS (Class OfService) or QOS (Quality Of Service) protocol. The priority protocol canbe implemented by the server 134 and/or by the browser 106.

The Tag Communication Channel (Tcc) 124 is a two-way channel which isutilized in both the unicast mode and the broadcast mode. The TagCommunication Channel 124 transmits information related to the tag dataor action points of a web page like tags and local echo for typing.Though only one channel 120 is shown, there may be multiple broadcastchannels 120 provided. More specifically, the Tcc 124 provides a forwardchannel from the gateway server 134 to the user computer 104. The tagfile includes the action points associated with a web page. The tag fileis sent on the forward Tcc channel 124 so that the virtual browser 106(as a client of the gateway server 134) can identify the action pointsof the website being viewed by the user. The tag file and compressedvideo file can also include information (such as a time stamp, ID, code,or the like) which facilitates synchronization of the tag file to thevideo. For instance, for a given search site, the tag file can includeat least the domain name for the web page and the location (x pixelsdown and y pixels over) of the action taken. It can also include theaction type and the action taken.

The browser 106 then creates a tag file which includes the domain namefor the web page, the location where the action is taken (x pixels downand y pixels over) and the action taken (such as the movement or clickof the mouse, the typing of a letter or command (tab, backspace, etc.)on the keyboard, etc.). That tag file is sent to the gateway server 134via the satellite 102 on the return Tcc channel 124. In this manner, thebrowser 106 communicates the user's actions to the gateway server 134.The gateway server 134 can then replicate that action on the website onthe Internet cloud 150 or private cloud 152. However, certain actions,such as scrolling the web page, can be handled by the browser 106 itselfsince the entire web page is imaged and saved in the local storagedevice 110; so that the browser 106 need not be sent to the gatewayserver 134.

The Tcc 124 operates in conjunction with the Bcc 120 and the DBVcc 122to provide the complete virtual appearance of the website being accessedby the user via the gateway server 134. That is, the Tcc 124 providesthe functionality of the website being accessed and either the Bcc 120or the DBVcc 122 provides the image of the website. More specifically,the Bcc 120 provides the image of the website when the browser 106 viewsa site (via the satellite 102 and gateway server 134) which is sent overthe broadcast channel 120 in the broadcast mode. And, the DBVcc 122provides the image of the website when the browser 106 views a site (viathe satellite 102 and the gateway server 134) which is sent over theDifferential Burst Video Communication Channel 122 in the unicast mode.

The system 100 can switch between the broadcast mode and the unicastmode as the user moves between different web pages or even withinsubpages of a single website. For instance, if the user has accessed theCNN site in broadcast mode and clicks on a CNN link to a page which isnot frequently accessed or which is customized to the user, the system100 can switch to the unicast mode. One alternative feature of theinvention is to provide one or more unidirectional Multi-castCommunication Channels (Mcc), each of which carries transmissions to apredetermined a group or subset of users. For example, users may decideto join a multi-cast group, and communications unique to that groupwould be transmitted to those user computers 104 ₁-104 _(n) over thatmulti-cast channel. For example, the caching engine at the gatewayserver 134 may push the cache 136 periodically onto the computers 104 bymulti-casting it to subscribers. In the example above, the usercomputers 104 ₁-104 _(n) located in Florida can be assigned to a commonmulti-cast group having a designated multi-cast channel. By storing aportion or all of the gateway cache 136 at the gateway 134, theretransmission of video images associated with pages can be eliminated,which results in greater speed. This configuration also enables theimmediate start of video, which enhances the user's experience.

All of the unicast and broadcast data are communicated over thebroadcast device 102. There may be periods of high volume use whichchallenge the transmission capabilities of the broadcast device 102.Thus, as with the DBVcc 122, the Tcc 124 can be designated as a prioritychannel when the communication is in the unicast mode, so that it haspriority over the Bcc 120 and over other Tcc communications which are inthe broadcast mode. Thus, the order of priority for the transmissions isas follows: (a) Bcc when used for live broadcasting, (b) Tcc, (c) DBVcc,and (d) Bcc when not used for live broadcasting. In addition, all of theTcc information can have the assigned priority, or only the tag filesfrom the user computer 104 and when used for DBVcc can have the assignedpriority; and tag files associated with the broadcast data can have alower priority. This priority protocol can be implemented by the server134, for instance, by setting aside a certain number of channels justfor the priority channels, such as Bcc for live broadcasting, unicastTcc 124 communications, and/or by giving priority to unicast modecommunications under a COS or QOS protocol. The channels can bededicated channels, or non-dedicated channels.

The private cloud 152 can be maintained by the operator of the gatewayplatform 130. Although it is globally accessible, it is a private cloud.Users at remote computer 104 can access the private cloud 152 via aprivate link, via the gateway 130. The private link is established by adedicated IPL (International Private Line) or MPLS (MultiProtocolLayered Switching links) established between the gateway server 134 andthe private cloud 152.

One exemplary feature of the invention provides that the gateway server134 maintains a list of the broadcast data which is to be broadcast tothe user computers. This may be, for instance, a list of the web pageswhich is to be regularly imaged, compressed and broadcast. That list canbe updated manually and/or automatically, such as by utilizingartificial intelligence at the gateway server 134 to improve theinformation that is determined to be broadcast data. The user computer104 can track the percentage of success of the requested informationbeing stored in the storage device 110. It can send those statistics tothe gateway server 134 to learn what information or web pages should bedesignated as broadcast data.

Another exemplary feature of the invention enables the browser 106 toapply a one-time unique login for a user. Through this feature, the useris only required to authenticate once, namely the first time the useraccesses the gateway server 134. The server 134 identifies allowablecomputers 104 by its MAC address and provides access to authorizedcomputers 104. The gateway server 134 can also maintain an accounthistory to determine how many times a computer 104 connects to thegateway server 134 for billing or other purposes. The user only needs tolog in one time, during which the user can download the browser 106 tothe user computer 104. When the browser 106 initially connects to thegateway server 134, it sends the MAC address for the computer 104 to thegateway server 134. All subsequent communications are based on the MACaddress.

FIG. 2 illustrates exemplary method steps performed by the system 100 ofthe present invention. First, in step 200, the system recognizes that aweb page option has been selected by a user at the browser 106. At step202, the browser 106 determines if the desired web page (based on thedomain name for the web page) is stored locally at the memory or storagedevice 110 of the computer 104. If the site is not stored at thecomputer 104, the browser 106 (in unicast mode) at step 204 connects tothe gateway server 134 via the browser 106 and the satellite 102. Atstep 206, the gateway server 134 checks the cache 136 for the requestedinformation and, if not found, searches for the closest point of access(such as a data center) to the desired web page on the cloud 150, 152.The gateway server 134 then connects to the site over the cloud 150, 152and renders the site.

At step 208, the server 134 creates a compressed video format of the webpage. The compressed video format may include all of the page'sgraphical information and data from different sources in a single videosignal representing the image of the web page. The data may includeJava, html, flash, or other programs known to those of skill in the art.Also at step 208, the server 134 creates a tag file which maps thedesired website. The tag file may include positions of the scroll barclick, prompt locations, and any other action points of the web page. Asmentioned above, the tag file retains the functionality of the websiteon the browser 106. The tag file may be periodically updated at thegateway server 134 and the computer 104 as the web page at the network150, 152 changes, so that both views of the page are synchronized. Thesystem can optionally store the compressed video format and the tag filein the gateway cache 136 at the gateway server 134.

At step 210, the tag file data is then transmitted to the computer 104using the Tag Communication Channel 124, and the compressed video datais transmitted to the computer 104 using the DBVcc 122. The tag file ispreferably transmitted to the user computer 104 with the compressedvideo data, so that the information is synchronized. At step 212, thebrowser 106 receives the compressed video data and the tag file from thegateway server 134 and displays the web page.

Returning to step 202, if the computer 104 determines that the requestedweb page is locally available in the computer memory 110, then thelocally available version of the web page is used in the browser 106.The requested web page would be in the memory of the computer 104 (orthe cache 136) if it is broadcast data which has been previously imaged,compressed, tagged, cached and broadcast over the Bcc 120 to the usercomputer 104; and the associated tag file was sent over the Tcc 124. Thebroadcast data can then be immediately displayed to the user in step212, and the system 100 need not perform steps 204-210.

Although the steps in FIG. 2 have been described in sequential order forease of understanding, it is important to note that many, if not all, ofthese steps may be performed in varying orders and/or in parallel. Forinstance, the server 134 can operate in the broadcast mode and theunicast mode at the same time. All such combinations of steps are withinthe scope of the present invention.

One of the benefits of the present invention is that no local process onthe computer 104 is required, other than the effective display of theweb page images. The gateway 130 does all the processing, so that thecomputer 104 can be a dumb terminal.

Accordingly, the present invention provides a gateway server 134 and agateway cache 136 which provides public or private information from apublic or private network to the browser 106 in real time. In addition,the system 100 enables a reduced, and near-zero, latency of thesatellite 102. Thus, the gateway server 134, cache 136 and browser 106provide a near-zero latency.

The gateway server 134, as well as the broadcast device 102, can beimplemented by a computer having a processor to perform variousfunctions and operations in accordance with the invention. The computercan be, for instance, a personal computer (PC), server or mainframecomputer. The processor may also be provided with one or more of a widevariety of components including, for example, input device, display ormonitor, and a memory or storage device such as a cache 136 or database.The system and processes implemented at the gateway platform 130, thebroadcast device 102 and/or the user computer 104, can be stored on orread from computer-readable media which stores machine executableinstructions for performing the processes described. Computer readablemedia may include, for instance, hard disks, floppy disks, DVD, memorystick, CD-ROM, dowloadable file, read-only memory (ROM) or random-accessmemory (RAM).

As shown and described herein, the gateway platform 130 is preferablyseparate from the broadcast device 102. However, all or part of thegateway platform 130, including the server 134 and the cache 136 and itsassociated functionality, can be integrated with and located togetherwith the broadcast device 102. In an embodiment where the broadcastdevice 102 is a satellite, the satellite can have the features discussedin co-pending application Ser. No. 61/350,211, filed Jun. 1, 2010, theentire contents of which are hereby incorporated by reference.

In addition, a firewall can be provided at the gateway server 134, sothat any forward communications from the gateway server 134 have to passthrough the firewall before being transmitted to the satellite 102. Thisgreatly simplifies security by reducing the number of security pointsand firewalls that might otherwise be needed. The system 100 alsoprovides a secure access for public and private cloud 150, 152 services.

Other features of the invention can include time stamping the datastored in cache 136, and/or time stamping the access made by the usersand storing that information in the user's account.

Finally, while the preferred embodiment of the invention has beendescribed to communicate websites over a broadcast system, otherinformation may be communicated. For instance, movies, database and HDmovies can be broadcast to user computers 104.

Numerous modifications and variations of the present invention arepossible in light of the above teachings. It is therefore to beunderstood that within the scope of the appended claims, the inventionmay be practiced otherwise than as specifically described herein.

1. A system for communicating data from a first computer to a secondcomputer remotely located from the first computer, the systemcomprising: a gateway platform configured to capture the data in a videoframe format, and cause the second computer to display the captured datain the video frame format.
 2. The system of claim 1, wherein the data isprovided by the first computer in a first format, and said gatewayplatform captures at least a portion of the data in a video frameformat, and the video frame format is different from and independent ofthe first format.
 3. The system of claim 2, wherein the first format isan HTTP format.
 4. The system of claim 2, wherein said gateway platformcaptures the entirety of the data to a video frame format.
 5. The systemof claim 1, wherein there are a plurality of second computers and saidgateway platform is further configured to transmit the data over asatellite using a differential burst video transmission to no more thanone of the second computers for display in substantially real time. 6.The system of claim 1, wherein there are a plurality of second computersand said gateway platform is further configured to broadcast thecaptured data to the plurality of second computers.
 7. The system ofclaim 6, wherein said gateway platform is further configured tobroadcast the captured data over a satellite to the plurality of secondcomputers.
 8. The system of claim 1, wherein the first computer is aserver accessible through a global network, and the second computer isdumb terminal.
 9. The system of claim 1, wherein the data is a web pageand said gateway platform causes the second computer to display avirtual image of the web page.
 10. The system of claim 1, wherein saidgateway platform comprises a processor.
 11. The system of claim 1,wherein said gateway platform comprises a storage device for storing thecaptured data.
 12. The system of claim 1, wherein said gateway platformcomprises a processor in communication with a storage device and saidprocessor stores the captured data in said storage device.
 13. Thesystem of claim 1, wherein the second computer is configured to receivea user input action command, and in response to the user input actioncommand create a tag file comprising a location of the user input actioncommand, a type of the user input action command, and the user inputaction command.
 14. The system of claim 13, wherein the location of theuser input action command comprises an x coordinate and a y coordinate.15. The system of claim 13, wherein the type of the user action inputcomprises a keyboard entry or a mouse entry.
 16. The system of claim 13,wherein the user input action command comprises a mouse click, a scroll,or a typed key command.
 17. The system of claim 13, wherein said gatewayplatform further receives the tag file and performs the user inputaction command on the first computer.
 18. A system for virtuallyreplicating a web page of an web server on a user computer remotelylocated from the web server, the system comprising: a gateway storagedevice; and, a gateway processor in communication with said gatewaystorage device, said gateway processor configured to access the web pagefrom the web server in an HTTP format, create a web page image of theweb page in a graphics format, store the web page image to said gatewaystorage device, and transmit the web page image to the user computer.19. The system of claim 18, said gateway processor further configured todisplay the web page image at the user computer.
 20. The system of claim18, further comprising a plurality of user computers, said gatewayprocessor broadcasting the same web page image to each of the pluralityof user computers.
 21. The system of claim 18, said gateway processorfurther creating a tag file identifying an action point of the websiteand a location of the action point.
 22. The system of claim 21, saidgateway processor transmitting the tag file to the user computer todisplay the action point on the user computer.
 23. The system of claim22, wherein the tag file is synchronized with the web page image. 24.The system of claim 18, wherein there is a first web page and a secondweb page, and said gateway processor operates in a broadcast mode tobroadcast the first web page to a plurality of user computers, and saidgateway processor operates in a unicast mode to transmit the second webpage to one of the plurality of user computers.
 25. A client serverarchitecture for browsing information including internet, video, andother cloud content, the architecture comprising: a client serverbrowsing the information and transmitting the information to a clientusing a differential burst video transmission.
 26. A client serverarchitecture that transmits information to multiple clients each havinga local cache, the architecture comprising: a client server having amaster cache, said client server synchronizing the master cache via abroadcast channel to the local cache of the multiple clients.
 27. Thearchitecture of claim 26, wherein the information comprises a completeweb page, wherein the client only displays a portion of the complete webpage.
 28. The architecture of claim 26, wherein the master cacheincludes most visited web pages and their sub-links.
 29. Thearchitecture of claim 28, wherein the local cache is client specific andincludes information that is not in the master cache to provide fasteraccess to client unique requirements and flexibility and support of themaster cache.
 30. The architecture of claim 26, further storing areplica of the master cache in a mobile storage device.